package com.gdpu.project.dao;

import java.util.List;

import com.gdpu.project.vo.CgProject;
import com.gdpu.project.vo.Teacher;

public interface TeacherDao {

	public abstract void save(Teacher transientInstance);

	public abstract void delete(Teacher persistentInstance);

	public abstract Teacher findById(java.lang.String id);

	public abstract List<Teacher> findByExample(Teacher instance);

	public abstract List<Teacher> findByProperty(String propertyName,
			Object value);

	public abstract List<Teacher> findByPassword(Object password);

	public abstract List<Teacher> findByRole(Object role);

	public abstract List<Teacher> findByName(Object name);

	public abstract List<Teacher> findBySex(Object sex);

	public abstract List<Teacher> findByNation(Object nation);

	public abstract List<Teacher> findByIdCard(Object idCard);

	public abstract List<Teacher> findByCollege(Object college);

	public abstract List<Teacher> findByDepartment(Object department);

	public abstract List<Teacher> findByPostion(Object postion);

	public abstract List<Teacher> findByEducation(Object education);

	public abstract List<Teacher> findByGraduateCollege(Object graduateCollege);

	public abstract List<Teacher> findByProfession(Object profession);

	public abstract List<Teacher> findBySpeciality(Object speciality);

	public abstract List<Teacher> findByPhone(Object phone);

	public abstract List<Teacher> findByMobile(Object mobile);

	public abstract List<Teacher> findByQq(Object qq);

	public abstract List<Teacher> findByEmail(Object email);

	public abstract List<Teacher> findByFax(Object fax);

	public abstract List<Teacher> findAll();

	public abstract Teacher merge(Teacher detachedInstance);

	public abstract void attachDirty(Teacher instance);

	public abstract void attachClean(Teacher instance);

	public abstract List<Teacher> searchTeacher(String college,
			String department, String postion, String education,
			String teacherName);
	
	public List<String> findDistinctByDepartment();
	public List<String> findDistinctByEducation();
	public List<String> findDistinctByPostion();

	public abstract List<Teacher> searchTeacher(String college,
			String department, String postion, String education,
			String cataloge, String teacherId);
}